package com.xframe.xdal.core.convert.imp.mySql;

import com.xframe.xdal.core.convert.IDBConvertStrategy;
import com.xframe.xdal.core.util.StringUtil;

public class stringToDBType implements IDBConvertStrategy {

    /**
     * @param dataLength 字段长度
     * @param scale      小数位
     * @return
     */
    @Override
    public String getType(Integer dataLength, Integer scale) {
        //对于字符串类型，如果未设置长度或设置未合理，默认给50
        if (dataLength < 1) {
            dataLength = 50;
        }
        if (dataLength > 0 && dataLength <= 255) {
            return StringUtil.format("char({})", dataLength);
        }
        if (dataLength > 255 && dataLength <= 16383) {
            return StringUtil.format("varchar({})", dataLength);
        }
        if (dataLength > 16383) {
            return "text";
        }

        return StringUtil.format("varchar({})", dataLength);

    }
}